home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 016a / get25.zip / GET25NEW.DOC < prev    next >
Text File  |  1991-12-01  |  17KB  |  366 lines

  1.   GET25NEW.DOC  -  New features in GET.EXE  -  Copyright 1991 Bob Stephan
  2.  
  3.   This file summarizes the new and improved features in the various 
  4.   releases of GET Version 2 through Release 2.5.  If you have been using 
  5.   an older version of GET, you should read this file to find out what 
  6.   has been changed, and what has been added.  Any items of interest 
  7.   mentioned here are fully described in GET.DOC.  This is merely a 
  8.   brief overview.
  9.  
  10.   Release 2.5:
  11.  
  12.   Release 2.5 is a "bug fix" release.  The /Wdiv feature for GET F to 
  13.   divide a file size by a given divisor that was introduced in Version 
  14.   2.4 did not work as advertised.  This is fixed in 2.5.  Apologies 
  15.   are extended for any inconvenience this may have caused.
  16.  
  17.   Sometimes it is desirable to be able to get the exact size of a 
  18.   small file.  This capability has been added to the GET F file size 
  19.   function in Version 2.5.  It makes use of the /A switch, which can
  20.   be thought of mnemonically as meaning All.  The syntax is:
  21.  
  22.   GET F[E] filespec [/A] [/Wdiv] [/X]
  23.  
  24.   If /A is specified, All the bytes in the file size will be reported
  25.   in the Environment for files up to 655,350 bytes.  If over that size, 
  26.   the value will have an asterisk as the last character indicating that 
  27.   the size is not valid, but that it is larger than 655,350 bytes. If 
  28.   the file is 255 bytes or less, the full size will be in the ErrorLevel.  
  29.   The /Wdiv switch can be used to specify a divisor for larger files so 
  30.   that the resulting ErrorLevel will be less than 255.  The divisor 
  31.   does not affect the Environment variable.
  32.  
  33.   EXAMPLE:
  34.  
  35.   1. Suppose you have a file of exactly 166,816 bytes.  You could see 
  36.   the following results.
  37.  
  38.   GET F filespec
  39.   The Environment is: 163
  40.   The ErrorLevel is: 163
  41.  
  42.   GET F filespec /A
  43.   The Environment is: 166816
  44.   The ErrorLevel is: 255
  45.  
  46.   GET F filespec /A /W1000
  47.   The Environment is: 166816
  48.   The ErrorLevel is: 166
  49.  
  50.   GET F filespec /A /W1000 /X
  51.   The Environment is: 28BA0
  52.   The ErrorLevel is: 166
  53.   ------------------------------------------------------------------
  54.   Also, a page back feature has been added to the help screen.  
  55.   Displaying the help screen by simply entering GET will now pause at 
  56.   the end of the second screen with the message
  57.  
  58.   Press PgUp to repeat the first screen - Esc, CR, or space bar to exit
  59.  
  60.   Pressing PgUp at this point will start the help screen display over 
  61.   again.  Pressing CR (Enter or Return on the keyboard) will exit and
  62.   clear the screen giving you a clear screen to work on.  Pressing Esc 
  63.   or the space bar will exit and leave the second help screen on the 
  64.   display for reference.  The pause will time out in 10 seconds and 
  65.   return to the DOS prompt automatically.
  66.  
  67.   A useful utility has been added to the GET package.  RUN.EXE will 
  68.   run any .COM or .EXE file and report the ErrorLevel it returns.  
  69.   Previously many of us had a large BATch file that went something
  70.   like:  IF ERRORLEVEL 255 SAY 255
  71.          IF ERRORLEVEL 254 SAY 254
  72.          ...
  73.          IF ERRORLEVEL 1 SAY 1
  74.  
  75.   where SAY.BAT simply echoed its argument.  This was slow and 
  76.   cumbersome.  RUN can greatly speed up the process of testing 
  77.   programs for return codes.  See RUN.DOC for further details.
  78.  
  79.   Finally, a different method of compressing the .EXE file is being 
  80.   used.  It compresses the licensed runtime version, GETRUN.EXE, to 
  81.   under 4K, so GETNOT is no longer needed and will not be included
  82.   in licensed copies.
  83.  
  84.   Release 2.4:
  85.  
  86.   GET.EXE Release 2.4 contains only a few changes from Release 2.3. 
  87.   There are no bug fixes (none have been reported in 2.3) so if you 
  88.   don't need any of the new features, you can continue to use 2.3 with 
  89.   confidence.
  90.  
  91.   There were a very few reports of an apparent ROM BIOS incompatibility 
  92.     with one or two different systems which involved the method of 
  93.     displaying the prompt in 2.3.  The method was changed from Version 
  94.     2.2 to permit displaying the prompt in color or reverse video even 
  95.     with ANSI.SYS loaded.  It is now changed again to try to fix this 
  96.     BIOS incompatibility that so far has appeared only rarely.
  97.     Due to the most recent method now being used in Version 2.4, the 
  98.     maximum prompt length has to be limited to 79 characters if /A is 
  99.     used.  The "prompt" can also be used to send ANSI.SYS escape 
  100.     sequences to the screen.  See information on the /A switch below.
  101.  
  102.   GET R for 'Rithmetic - add or subtract two numbers. 
  103.     Syntax:  GET R[E] [num1] [/Wnum2]
  104.   
  105.   Input:  One or two numbers for arithmetic
  106.  
  107.   Process:GET R adds the two numbers
  108.           GET RE subtracts the second from the first
  109.  
  110.   Output: Arithmetic result in Environment and ErrorLevel
  111.           If only one number is given, the other number defaults to 0.  
  112.           Max number of digits for each number is 4.
  113.           Thus a character representation of a number can be converted
  114.             to a number in the ErrorLevel.
  115.           Example: A loop counter
  116.                    SET COUNT=0
  117.                    :LOOP
  118.                    GET R %COUNT% /W1 /VCOUNT=
  119.                    Echo The count is %COUNT%
  120.                    IF NOT ERRORLEVEL 10 GOTO LOOP
  121.           If the result is greater than 255, the ErrorLevel is modulo 256.
  122.              256=0, 257=1, ..., 511=255, 512=0, etc.
  123.           No negative numbers are recognized.  If a larger number is 
  124.           subtracted from smaller, the result is the difference + 65536.
  125.            Example: GET RE 10 /W20
  126.                     The ErrorLevel is 246
  127.                     The Environment is 65526
  128.  
  129.   SWITCHES:
  130.  
  131.   /A if the /A switch is not included, the prompt will be displayed 
  132.      in such a manner that ANSI sequences can be used for screen 
  133.      control.  This restores compatibility with Version 2.2 for 
  134.      prompting and using ANSI screen control sequences.  The "prompt"
  135.      will always be sent to the screen even if standard output is 
  136.      redirected with DOS redirection (>).  Without /A the prompt can 
  137.      be as long as will fit on the DOS command or BATch line which is 
  138.      limited to 128 characters total.  With /A, the prompt is limited 
  139.      to 79 characters.
  140.  
  141.   /T TRIM switch for GET S, GET Z, and GET HE.  
  142.          /TL or /T- will trim leading blanks.
  143.          /TR or /T+ will trim trailing blanks.
  144.              
  145.   /V- will suppress creation of the Environment variable completely.  
  146.      A side effect of /V- is that SET GET?=ON will have no effect.  
  147.      Since the search of the Environment is being completely bypassed, 
  148.      GET will not be able to check for the GET? variable.
  149.  
  150.   Two additions to the GET F command:
  151.  
  152.   /X Previously GET F always put the filesize in the Environment in 
  153.      hexadecimal.  Now it will be in decimal kilobytes, unless the /X 
  154.      for heX switch is included in which case it will be the full 
  155.      size in hex as before.
  156.  
  157.   A divisor can be provided for the GET F file size command similar to
  158.     the divisors permitted for GET K and GET Q.
  159.  
  160.     Syntax:  GET F filespec /Wnum
  161.  
  162.   NOTE: The use of GET F to test for the existence of a directory is 
  163.     valid only for subdirectories, and not for any root directory.
  164.     Since DOS does not recognize the root directory as a file, commands
  165.     such as GET F \, GET F c:\, GET F c:, etc. are not valid.  Also, 
  166.     if there is an error (no Environment variable) and the ErrorLevel 
  167.     is 15 it means that an invalid drive was specified.  These items 
  168.     were true in previous versions of GET, but were not described 
  169.     completely in the documentation.  Also, although it is a 
  170.     documented procedure in MS DOS 5.0, do not use the NUL device to 
  171.     check for a directory if any users might be using DR DOS 5.0.  DR 
  172.     DOS 5 thinks that the NUL (and other) devices exist even in 
  173.     non-existent directories.  It may be that a few other versions of
  174.     DOS do not support the NUL device method of checking, but GET will
  175.     work with them all.
  176.  
  177.   There is a minor improvement to the GET UE command.  Previously the 
  178.       value placed in the Environment for the key-lock status did not 
  179.       always match the value requested by the previous use of GET UE, 
  180.       although the saved result gave the same result if used to restore
  181.       the keyboard locks.  Now the value reported will match.
  182.  
  183.   There are some internal changes to reduce executable file size, but 
  184.       the runtime version could not be kept under 4K.  An additional
  185.       runtime version is available that does not have the T 
  186.       (moving Text) feature for those who do not use it.  This version
  187.       is still under 4K.  Look for GETNOT.EXE (GET NO T) on the
  188.       registered disk.
  189.  
  190.   One final clarification.  It has been pointed out that the documentation
  191.       for the VE (set border color) command does not clearly specify which
  192.       portions of the color table shown for /A are valid.  GET VE will 
  193.       take any of the 8 basic color codes 0-7.  The remaining information
  194.       that can be used for /A or GET B has no meaning for GET VE.
  195.  
  196.   If you have a modem, VISA and MASTERCARD registrations can be entered via 
  197.       NITELOG BBS, 408-655-1096.  After completing the brief sign-on registra- 
  198.       tion, enter S for Script, then 3 for Script 3.
  199.  
  200.   Release 2.3:
  201.  
  202.   GET.EXE, Release 2.3 contains many significant changes.  I have 
  203.   tried to maintain compatibility with GET 2.2, but there are a couple 
  204.   of changes that can cause some previous GET commands to behave 
  205.   differently.  In the cases where the new features duplicate 
  206.   previously available features, BATch programmers should make every 
  207.   effort to change over to the newer methods.  When Version 3 comes 
  208.   out at some future time, the older methods will be eliminated.
  209.   A compatibility warning feature has been included in GET 2.3. 
  210.   See GET.DOC for full details on these features.
  211.  
  212.   If you used GET for ANSI.SYS escape sequences, see the note under
  213.   the description of the /A switch.
  214.  
  215.   Size has increased only slightly.  The runtime version is still
  216.   under 4K as compressed.
  217.  
  218.   The biggest change in the syntax of GET commands is the addition of 
  219.   the use of switches to modify the commands.  This provides a richer, 
  220.   more flexible repertory of options for the BATch programmer.  The 
  221.   switches must come after all other arguments, and are indicated by 
  222.   the switch character which is the forward slash "/".  Switch letters 
  223.   can be entered in either lower or upper case.  The switches that
  224.   have been implemented in Release 2.3 are:
  225.  
  226.     /B flush keyboard Buffer.  May be useful to flush any type-ahead 
  227.        keystrokes when asking for user input.
  228.  
  229.     /C tells GET to handle Ctrl-C and Ctrl-Break instead of letting DOS do 
  230.        it.  
  231.  
  232.     /U specifies that the string that is written to the environment is 
  233.        to be forced into upper case (Caps).
  234.   
  235.     /L specifies that the string is to be forced into lower case.  
  236.  
  237.     /M tells GET to try to put the string in the master environment 
  238.        instead of the child environment.  
  239.  
  240.     /E specifies that keystrokes will be read from the Enhanced 
  241.        keyboard.  
  242.  
  243.     /X specifies that extended keys will be accepted.  
  244.  
  245.     /Vvar= specifies a name for the Environment variable other than 
  246.        GET.  
  247.     
  248.     /W is used to specify a number of seconds to wait for input.
  249.  
  250.     /A controls the screen attribute of prompts.  
  251.  
  252.     /~ This is a temporary switch that is used with GET S only.
  253.  
  254.   The next major enhancement is the handling of extended/enhanced 
  255.   keys.  For GET C and GET T you can now specify individual function 
  256.   and other extended keys by using a relatively simple but effective
  257.   surrogate scheme.  
  258.  
  259.     Other changes and enhancements:
  260.  
  261.     GET?.  To help in debugging, or simply to use GET from the command
  262.       line, you can tell GET to report to the screen what it is putting 
  263.       in the Environment and the ErrorLevel.  If you issue the DOS
  264.       command, SET GET?=ON, either from the command line, or in a BATch
  265.       file, then GET will tell you what it is doing.  
  266.   
  267.     GET S. When waiting for a string and the user presses Escape, GET 
  268.       can put the ESC surrogate, "~", in the Environment and 126 in the 
  269.       ErrorLevel (instead of 0 as before).  This is activated by using 
  270.       the /~ switch.
  271.  
  272.     GET BR is a new command to check and/or set the DOS BREAK Flag. 
  273.       GET BR also gives you another method of communicating from your 
  274.       CONFIG.SYS to your AUTOEXEC.BAT.  You can set BREAK ON or OFF in
  275.       CONFIG.SYS according to whatever you want it to mean, and use
  276.       GET BR to check and optionally reset it in your AUTOEXEC.BAT, then
  277.       take some action according to whether it was ON or OFF.
  278.  
  279.     GET 4 is a new get command to check for 4DOS or Windows.  In either 
  280.       case it will report 1 for "yes" and 0 for "no.
  281.         GET 4 finds out if 4DOS is the command processor.
  282.         GET 4E finds out if Windows is running. 
  283.  
  284.     GET I now reports the key that is waiting, and it takes the same 
  285.       aruguments as GET C so you can check for extended/enhanced keys.
  286.       Consequently, GET I does not use standard input any more.
  287.  
  288.     GET Z, as mentioned above, now does not look for the master 
  289.       environment unless the /M switch is included.  GET Z also has
  290.       enhanced string handling features.
  291.  
  292.     Release 2.2:
  293.  
  294.      Release 2.2 added a feature to put the string for GET Z "string"
  295.      in the true master environment, bypassing all copies of secondary
  296.      command processors.  It has been tested with DOS 3.3, DOS 4.01, 
  297.      DR DOS, and 4DOS, but it is a tricky business and there are no 
  298.      guarantees.  
  299.  
  300.      Release 2.2 also adds Escape to the list of recognized string 
  301.        characters for GET S, and it treats ASCII 255 as sort of an 
  302.        upper-case space character.
  303.      GET Y will now take a drive argument, and returns 0 for a root 
  304.        directory with GET=\.
  305.      GET 7E now returns a code for the type of CPU chip.  The PC Model
  306.        function has been reassigned to GET AE.
  307.      GET.DOC has been considerably expanded, and it includes clearer
  308.        LICENSING information.  A smaller runtime version is available
  309.        for a minimum registration fee.
  310.  
  311.   Release 2.1b:
  312.  
  313.      Release 2.1b included some additional documentation.
  314.      There were no new features in either 2.1a or 2.1b.
  315.      
  316.   Release 2.1a:
  317.  
  318.      Release 2.1a gives better results when using the K, L, or Q 
  319.      commands on a hard disk with large partitions.  Release 2.1 could 
  320.      report misleading information for such disks.
  321.  
  322.   ******************  New features in Version 2 **********************
  323.  
  324.   1. The capacity of a disk.  GET Q works just like GET K.
  325.      Note that the extended command now divides the ERRORLEVEL by 100 
  326.      instead of 10 as it did in the previous version.  And if you need 
  327.      a different divisor you can use the # notation.
  328.   2. Timeout.  C, N, and S now have a timeout capability.
  329.   3. Directory existence.  The F command for GET Filesize can now be used to
  330.      determine whether a named directory exists.  
  331.   4. SURROGATES: The surrogate for extended keys was changed to { because 
  332.      4DOS treats the "back quote" (grave accent) as a special character
  333.      in BATch files.  GET now works with DR DOS and 4DOS.  In previous
  334.      versions of GET, the surrogate for extended keys had to be the first
  335.      character in the argument if it was present.  Now it can be any place
  336.      in the argument.  
  337.        A new surrogate for extended keys on the enhanced keyboard (101 
  338.      keys) has been added.  
  339.        A surrogate for the space character ASCII 32 was added.
  340.        A surrogate of ASCII 253 will suppress Control-C and Ctrl_Break.
  341.   5. The I command checks to see whether a key is in the buffer.
  342.   6. The L command gets the Volume Label of the specified
  343.      disk.  The LE command will compare the "string" argument with the 
  344.      label and set the ERRORLEVEL to indicate whether there is a match.
  345.   7. The length of a string for the S command can be specified, and a
  346.      pattern can be given to limit the types of characters entered.
  347.   8. W will reboot the computer as if the 3-finger salute was pressed.  
  348.      WE will reboot as if the computer was turned off then on again.  
  349.      If any characters are present as an argument, instead of rebooting,
  350.      GET will attempt to determine whether the preceding boot was warm 
  351.      or cold.
  352.   9. GET AE will return the ROM BIOS model byte.
  353.  10. VE will get/set the border color on a VGA or EGA monitor.
  354.  11. PE has a change to inactivate Print-Screen.
  355.  12. The new H command provides Date and Time information.
  356.  13. Z (Zap) accesses the real master environment. 
  357.  14. The Moving Text option is back in Version 2.2.
  358.  15. The U command will stack keys in the keyboard bUffer.  UE will
  359.      adjust NumLock, CapsLock, and Scroll Lock.
  360.  
  361.   What new features do you need?  Your comments, questions, and 
  362.   suggestions are always welcome.  See GET.DOC for information on how
  363.   to contact me.
  364.                                             /Bob Stephan/
  365.                                             December 1, 1991
  366.